//
//  LazySoundData v 1.0 - soundManager package
//  Russell Lowke, February 10th 2010
// 
//  Copyright (c) 2010 Lowke Media
//  see http://www.lowkemedia.com for more information
//  see http://code.google.com/p/lowke/ for code repository
//
//  Permission is hereby granted, free of charge, to any person obtaining a 
//  copy of this software and associated documentation files (the "Software"), 
//  to deal in the Software without restriction, including without limitation 
//  the rights to use, copy, modify, merge, publish, distribute, sublicense, 
//  and/or sell copies of the Software, and to permit persons to whom the 
//  Software is furnished to do so, subject to the following conditions:
// 
//  The above copyright notice and this permission notice shall be included in 
//  all copies or substantial portions of the Software.
// 
//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 
//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 
//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 
//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 
//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 
//  FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER  
//  DEALINGS IN THE SOFTWARE. 
//
//


package com.lowke.soundManager
{
    public class LazySoundData 
    {   
        // metadata for sound to be loaded
        private var _url:String;
        private var _id:String;
        private var _defaultVolume:Number;
        private var _defaultRandomStagger:Number;
        private var _loopByDefault:Boolean;
        private var _maxConcurrent:uint;
        
        public function LazySoundData(url:String,
                                      id:String,
                                      defaultVolume:Number = 1,
                                      defaultRandomStagger:uint = 0,
                                      loopByDefault:Boolean = false,
                                      maxConcurrent:uint = 0) {
            
            _url = url;
            _id = id;
            _defaultVolume = defaultVolume;
            _defaultRandomStagger = defaultRandomStagger;
            _loopByDefault = loopByDefault;
            _maxConcurrent = maxConcurrent;
        }
        
        public function get url():String                    { return _url; }
        public function get id():String                     { return _id; }
        public function get defaultVolume():Number          { return _defaultVolume; }
        public function get defaultRandomStagger():uint     { return _defaultRandomStagger; }
        public function get loopByDefault():Boolean         { return _loopByDefault; }
        public function get maxConcurrent():uint            { return _maxConcurrent; }
    }
}
